package com.erp.common.db;

import com.github.pagehelper.PageInfo;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

public interface IService<T> {

    /**
     * 根据主键更新数据
     * @param t 要更新的实体类
     * @return 受影响的行数
     */
    int updateById(T t);

    /**
     * 根据主键删除数据
     * @param id 要删除数据的主键
     * @return 受影响的行数
     */
    int deleteById(Serializable id);

    /**
     * 添加数据信息
     * @param t 要添加的实体类信息
     * @return 受影响的行数
     */
    int insert(T t);

    /**
     * 查询所有的数据
     * @return 所有的数据
     */
    PageInfo<T> getAll(Map map);

    /**
     * 根据主键查询数据
     * @param id 要查询数据的主键信息
     * @return 实体类
     */
    T getById(Serializable id);


}
